function e(e, n, i) {
    return n in e ? Object.defineProperty(e, n, {
        value: i,
        enumerable: !0,
        configurable: !0,
        writable: !0
    }) : e[n] = i, e;
}

var n = require("./@babel/runtime/helpers/interopRequireDefault.js"), i = n(require("C65748722FB173BFA0312075CD44DCA6.js")), r = n(require("B9112E842FB173BFDF7746838624DCA6.js")), t = [ "linked", "linkChanged", "unlinked" ], u = [ "observer" ];

module.exports = Behavior({
    lifetimes: {
        created: function() {
            this._debounce = null;
        }
    },
    definitionFilter: function(n) {
        var o = n.relations;
        if (!(0, i.default)(o)) {
            for (var l in o) !function(n) {
                var i = o[n];
                t.forEach(function(n) {
                    return function(n, i, r) {
                        var t = n[i];
                        n[i] = function(n) {
                            r && r.call(this, n, e({}, i, !0)), t && t.call(this, n);
                        };
                    }(i, n, i.observer);
                }), u.forEach(function(e) {
                    return delete i[e];
                });
            }(l);
        }
        n.methods = n.methods || {}, n.methods.debounce = function(e) {
            var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
            return (this._debounce = this._debounce || (0, r.default)(e.bind(this), n, i)).call(this);
        };
    }
});